package com.ruoyi.order.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.base.BaseDTO;
import com.ruoyi.common.core.domain.entity.AppUser;
import com.ruoyi.common.core.domain.model.AppUserSnapshootDTO;
import com.ruoyi.server.domain.ServerTask;
import com.ruoyi.server.domain.dto.ServerTaskSnapshootDTO;
import com.ruoyi.user.domain.AppUserAccount;
import com.ruoyi.user.domain.dto.AppUserAccountSnapshootDTO;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "OrderInfoSnapshotDTO对象", description = "订单快照对象")
public class OrderInfoSnapshotDTO extends BaseDTO {
    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 订单编号
     */
    private String orderNum;

    /**
     * 价格
     */
    private BigDecimal orderPrice;

    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date orderTime;

    /**
     * 订单超时时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date orderTimeOut;

    /**
     * 实付金额
     */
    private BigDecimal payAmount;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date payTime;

    /**
     * 订单状态:1:未付款；2：已付款；3：已完工
     */
    @Excel(name = "订单状态:1:未付款；2：已付款；3：已完工")
    private Integer orderStatus;

    /**
     * 订单取消时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cancelOrderTime;

    /**
     * 订单完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date orderFinishTime;

    /**
     * 下单用户
     */
    private Long orderUserId;

    /**
     * 下单用户名称
     */
    private String orderUserName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 任务快照
     */
    private ServerTaskSnapshootDTO taskSnapshoot;

    /**
     * 账号快照
     */
    private AppUserAccountSnapshootDTO accountSnapshoot;

    /**
     * 用户快照
     */
    private AppUserSnapshootDTO appUserSnapshoot;




}
